Package | smart.who.int.anc |
Type | PlanDefinition |
Id | Id |
FHIR Version | R4 |
Source | http://smart.who.int/anc/https://build.fhir.org/ig/WorldHealthOrganization/smart-anc/PlanDefinition-ANCDT04.html |
Url | http://smart.who.int/anc/PlanDefinition/ANCDT04 |
Version | 0.3.0 |
Status | active |
Date | 2025-06-24T13:58:48-06:00 |
Name | ANCDT04 |
Title | ANC.DT.04 Conducting physical exams |
Experimental | False |
Realm | uv |
Authority | who |
Description | Depending on the results of some physical exams, additional examinations or repeat measurements are required |
No resources found
No resources found
Note: links and images are rebased to the (stated) source
Id: | ANCDT04 | ||||||
---|---|---|---|---|---|---|---|
Url: | ANC.DT.04 Conducting physical exams | ||||||
Version: | 0.3.0 | ||||||
Official |
ANC.DT.04 |
||||||
Title: | ANC.DT.04 Conducting physical exams | ||||||
Type: |
system: http://terminology.hl7.org/CodeSystem/plan-definition-type code: eca-rule |
||||||
Date: | 2025-06-24 13:58:48-0600 | ||||||
Publisher: | World Health Organization (WHO) | ||||||
Description: | Depending on the results of some physical exams, additional examinations or repeat measurements are required |
||||||
Use Context: |
|
||||||
Jurisdiction: | 001 | ||||||
Libraries: |
|
||||||
Actions: |
|
{
"resourceType" : "PlanDefinition",
"id" : "ANCDT04",
"text" : {
"status" : "extensions",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n<div>\n <table class=\"grid dict\">\n \n <tr>\n <th scope=\"row\"><b>Id: </b></th>\n <td style=\"padding-left: 4px;\">ANCDT04</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Url: </b></th>\n <td style=\"padding-left: 4px;\"><a href=\"PlanDefinition-ANCDT04.html\">ANC.DT.04 Conducting physical exams</a></td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Version: </b></th>\n <td style=\"padding-left: 4px;\">0.3.0</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\">\n <b>\n \n Official\n \n </b>\n </th>\n <td style=\"padding-left: 4px;\">\n \n <p style=\"margin-bottom: 5px;\">\n <span>ANC.DT.04</span>\n </p>\n \n </td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Title: </b></th>\n <td style=\"padding-left: 4px;\">ANC.DT.04 Conducting physical exams</td>\n </tr>\n \n\n \n\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Type: </b></th>\n <td style=\"padding-left: 4px;\">\n \n \n \n <p style=\"margin-bottom: 5px;\">\n <b>system: </b> <span><a href=\"http://terminology.hl7.org/6.4.0/CodeSystem-plan-definition-type.html\">http://terminology.hl7.org/CodeSystem/plan-definition-type</a></span>\n </p>\n \n \n <p style=\"margin-bottom: 5px;\">\n <b>code: </b> <span>eca-rule</span>\n </p>\n \n \n \n \n \n </td>\n </tr>\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Date: </b></th>\n <td style=\"padding-left: 4px;\">2025-06-24 13:58:48-0600</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Publisher: </b></th>\n <td style=\"padding-left: 4px;\">World Health Organization (WHO)</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Description: </b></th>\n <td style=\"padding-left: 4px;\"><div><p>Depending on the results of some physical exams, additional examinations or repeat measurements are required</p>\n</div></td>\n </tr>\n \n\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Use Context: </b></th>\n <td style=\"padding-left: 4px;\">\n <table class=\"grid-dict\">\n <tr>\n <th><b>code</b></th>\n <th><b>value</b></th>\n </tr>\n \n <tr>\n <td>task</td>\n <td/>\n </tr>\n \n </table>\n </td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Jurisdiction: </b></th>\n <td style=\"padding-left: 4px;\">001</td>\n </tr>\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Libraries: </b></th>\n <td style=\"padding-left: 4px;\">\n <table class=\"grid-dict\">\n \n <tr>\n <td><a href=\"Library-ANCDT04.html\">ANC.DT.04 Conducting physical exams</a></td>\n </tr>\n \n </table>\n </td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Actions: </b></th>\n <td style=\"padding-left: 4px;\">\n <table class=\"grid-dict\">\n \n <tr>\n <td>\n \n <b> ANC.DT.04 Conducting physical exams:</b> \n \n <br/>\n \n <b>When:</b>\n \n <i>Named Event:</i> ANC.B8 Conduct physical exam\n <br/>\n \n \n \n \n <b>Then:</b>\n <table class=\"grid-dict\">\n \n <tr>\n <td>\n \n Given high values (SBP ≥ 140 or DBP ≥ 90) upon first measure, blood pressure should be measured again\n \n <br/>\n \n \n <b>If:</b>\n \n <i>Applicability:</i>\n \n ("Systolic blood pressure" ≥ 140 mmHg)\n OR ("Diastolic blood pressure" ≥ 90 mmHg)\n \n <i>(Should Measure BP again after 10–15 minutes rest)</i>\n <br/>\n \n \n \n \n \n </td>\n </tr>\n \n <tr>\n <td>\n \n The health worker should retake the woman's temperature if the first reading is over 38°C\n \n <br/>\n \n \n <b>If:</b>\n \n <i>Applicability:</i>\n \n "Body temperature" ≥ 38°C\n \n <i>(Should Measure temperature again)</i>\n <br/>\n \n \n \n \n \n </td>\n </tr>\n \n <tr>\n <td>\n \n The health worker should retake the woman's pulse rate if the first reading is lower than 60 or higher than 100 beats per minute\n \n <br/>\n \n \n <b>If:</b>\n \n <i>Applicability:</i>\n \n 60 > Pulse rate > 100\n \n <i>(Should Check again after 10 minutes rest)</i>\n <br/>\n \n \n \n \n \n </td>\n </tr>\n \n <tr>\n <td>\n \n If the woman has an abnormal respiratory exam result or respiratory distress, conduct oximetry test\n \n <br/>\n \n \n <b>If:</b>\n \n <i>Applicability:</i>\n \n (((((("Respiratory exam result" = "Dyspnoea")\n OR ("Respiratory exam result" = "Cough"))\n OR ("Respiratory exam result" = "Rapid breathing"))\n OR ("Respiratory exam result" = "Slow breathing"))\n OR ("Respiratory exam result" = "Wheezing"))\n OR ("Respiratory exam result" = "Rales"))\n OR ("Respiratory exam result" = "Other abnormal respiratory exam result (specify)")\n \n <i>(Should Conduct oximetry test)</i>\n <br/>\n \n \n \n \n \n </td>\n </tr>\n \n <tr>\n <td>\n \n Fetal heart rate out of normal range (100–180) – please have the woman lay on her left side for 15 minutes and check again\n \n <br/>\n \n \n <b>If:</b>\n \n <i>Applicability:</i>\n \n 100 bpm > Fetal heart rate > 180 bpm\n \n <i>(Should Measure the fetal heart rate again)</i>\n <br/>\n \n \n \n \n \n </td>\n </tr>\n \n </table>\n \n </td>\n </tr>\n \n </table>\n </td>\n </tr>\n \n </table>\n</div>\n</div>"
},
"contained" : [
{
"resourceType" : "Library",
"id" : "effective-data-requirements",
"name" : "EffectiveDataRequirements",
"status" : "active",
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/library-type",
"code" : "module-definition"
}
]
},
"relatedArtifact" : [
{
"type" : "depends-on",
"display" : "Library FHIRHelpers",
"resource" : "http://smart.who.int/anc/Library/FHIRHelpers|4.0.1"
},
{
"type" : "depends-on",
"display" : "Library ContactData",
"resource" : "http://smart.who.int/anc/Library/ANCContactDataElements"
},
{
"type" : "depends-on",
"display" : "Library WC",
"resource" : "http://smart.who.int/anc/Library/WHOCommon"
},
{
"type" : "depends-on",
"display" : "Library Cx",
"resource" : "http://smart.who.int/anc/Library/ANCConcepts"
},
{
"type" : "depends-on",
"display" : "Value set Body temperature",
"resource" : "http://smart.who.int/anc/ValueSet/anc-b8-de34"
},
{
"type" : "depends-on",
"display" : "Value set Systolic blood pressure",
"resource" : "http://smart.who.int/anc/ValueSet/anc-b8-de17"
},
{
"type" : "depends-on",
"display" : "Value set Diastolic blood pressure",
"resource" : "http://smart.who.int/anc/ValueSet/anc-b8-de19"
},
{
"type" : "depends-on",
"display" : "Value set Respiratory exam result",
"resource" : "http://smart.who.int/anc/ValueSet/anc-b8-de39"
},
{
"type" : "depends-on",
"display" : "Value set Respiratory exam result - Dyspnoea Choices",
"resource" : "http://smart.who.int/anc/ValueSet/anc-b8-de42"
},
{
"type" : "depends-on",
"display" : "Value set Respiratory exam result - Cough Choices",
"resource" : "http://smart.who.int/anc/ValueSet/anc-b8-de43"
},
{
"type" : "depends-on",
"display" : "Value set Respiratory exam result - Rapid breathing Choices",
"resource" : "http://smart.who.int/anc/ValueSet/anc-b8-de44"
},
{
"type" : "depends-on",
"display" : "Value set Respiratory exam result - Slow breathing Choices",
"resource" : "http://smart.who.int/anc/ValueSet/anc-b8-de45"
},
{
"type" : "depends-on",
"display" : "Value set Respiratory exam result - Wheezing Choices",
"resource" : "http://smart.who.int/anc/ValueSet/anc-b8-de46"
},
{
"type" : "depends-on",
"display" : "Value set Respiratory exam result - Rales Choices",
"resource" : "http://smart.who.int/anc/ValueSet/anc-b8-de47"
},
{
"type" : "depends-on",
"display" : "Value set Respiratory exam result - Other abnormal result (specify) Choices",
"resource" : "http://smart.who.int/anc/ValueSet/anc-b8-de48"
},
{
"type" : "depends-on",
"display" : "Value set Fetal heart rate",
"resource" : "http://smart.who.int/anc/ValueSet/anc-b8-de107"
},
{
"type" : "depends-on",
"display" : "Value set Pulse rate",
"resource" : "http://smart.who.int/anc/ValueSet/anc-b8-de36"
}
],
"parameter" : [
{
"name" : "encounter",
"use" : "in",
"min" : 0,
"max" : "1",
"type" : "string"
},
{
"name" : "Should Measure temperature again",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Should Measure BP again after 10–15 minutes rest",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Should Conduct oximetry test",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Should Measure the fetal heart rate again",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Should Check again after 10 minutes rest",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
}
],
"dataRequirement" : [
{
"type" : "Observation",
"profile" : [
"http://hl7.org/fhir/StructureDefinition/Observation"
],
"mustSupport" : [
"code",
"status",
"encounter",
"encounter.reference"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://smart.who.int/anc/ValueSet/anc-b8-de34"
}
]
},
{
"type" : "Observation",
"profile" : [
"http://hl7.org/fhir/StructureDefinition/Observation"
],
"mustSupport" : [
"code",
"status",
"encounter",
"encounter.reference"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://smart.who.int/anc/ValueSet/anc-b8-de17"
}
]
},
{
"type" : "Observation",
"profile" : [
"http://hl7.org/fhir/StructureDefinition/Observation"
],
"mustSupport" : [
"code",
"status",
"encounter",
"encounter.reference"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://smart.who.int/anc/ValueSet/anc-b8-de19"
}
]
},
{
"type" : "Observation",
"profile" : [
"http://hl7.org/fhir/StructureDefinition/Observation"
],
"mustSupport" : [
"code",
"status",
"encounter",
"encounter.reference"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://smart.who.int/anc/ValueSet/anc-b8-de39"
}
]
},
{
"type" : "Observation",
"profile" : [
"http://hl7.org/fhir/StructureDefinition/Observation"
],
"mustSupport" : [
"code",
"status",
"encounter",
"encounter.reference"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://smart.who.int/anc/ValueSet/anc-b8-de107"
}
]
},
{
"type" : "Observation",
"profile" : [
"http://hl7.org/fhir/StructureDefinition/Observation"
],
"mustSupport" : [
"code",
"status",
"encounter",
"encounter.reference"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://smart.who.int/anc/ValueSet/anc-b8-de36"
}
]
}
]
}
],
"extension" : [
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "ANCContactDataElements"
},
{
"url" : "name",
"valueString" : "Body temperature"
},
{
"url" : "statement",
"valueString" : "/*\n @dataElement: ANC.B8.DE34 Body temperature\n @activity: ANC.B8 Physical exam\n @description: The woman's body temperature in degrees Celsius (°C) (first reading)\n*/\ndefine \"Body temperature\":\n WC.Earliest(\n [Observation: Cx.\"Body temperature\"] O\n where O.status in { 'final', 'amended', 'corrected' }\n and Coalesce(WC.ModifierExtension(O, 'who-notDone').value, false) is false\n and Last(Split(O.encounter.reference, '/')) = Last(Split(encounter, '/'))\n ).value as FHIR.Quantity"
},
{
"url" : "displaySequence",
"valueInteger" : 0
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "ANCDT04"
},
{
"url" : "name",
"valueString" : "Should Measure temperature again"
},
{
"url" : "statement",
"valueString" : "/*\n\"Body temperature\" ≥ 38°C\n*/\ndefine \"Should Measure temperature again\":\n ContactData.\"Body temperature\" >= 38 'Cel'"
},
{
"url" : "displaySequence",
"valueInteger" : 1
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "ANCContactDataElements"
},
{
"url" : "name",
"valueString" : "Systolic blood pressure"
},
{
"url" : "statement",
"valueString" : "/*\n @dataElement: ANC.B8.DE17 Systolic blood pressure\n @activity: ANC.B8 Physical exam\n @description: Systolic blood pressure (SBP) in mmHg\n*/\ndefine \"Systolic blood pressure\":\n WC.Earliest(\n [Observation: Cx.\"Systolic blood pressure\"] O\n where O.status in { 'final', 'amended', 'corrected' }\n and Coalesce(WC.ModifierExtension(O, 'who-notDone').value, false) is false\n and Last(Split(O.encounter.reference, '/')) = Last(Split(encounter, '/'))\n ).value as FHIR.Quantity"
},
{
"url" : "displaySequence",
"valueInteger" : 2
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "ANCContactDataElements"
},
{
"url" : "name",
"valueString" : "Diastolic blood pressure"
},
{
"url" : "statement",
"valueString" : "/*\n @dataElement: ANC.B8.DE19 Diastolic blood pressure\n @activity: ANC.B8 Physical exam\n @description: Diastolic blood pressure (DBP) in mmHg\n*/\ndefine \"Diastolic blood pressure\":\n WC.Earliest(\n [Observation: Cx.\"Diastolic blood pressure\"] O\n where O.status in { 'final', 'amended', 'corrected' }\n and Coalesce(WC.ModifierExtension(O, 'who-notDone').value, false) is false\n and Last(Split(O.encounter.reference, '/')) = Last(Split(encounter, '/'))\n ).value as FHIR.Quantity"
},
{
"url" : "displaySequence",
"valueInteger" : 3
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "ANCDT04"
},
{
"url" : "name",
"valueString" : "Should Measure BP again after 10–15 minutes rest"
},
{
"url" : "statement",
"valueString" : "/*\n(\"Systolic blood pressure\" ≥ 140 mmHg)\n OR (\"Diastolic blood pressure\" ≥ 90 mmHg)\n*/\ndefine \"Should Measure BP again after 10–15 minutes rest\":\n ContactData.\"Systolic blood pressure\" >= 140 'mm[Hg]'\n or ContactData.\"Diastolic blood pressure\" >= 90 'mm[Hg]'"
},
{
"url" : "displaySequence",
"valueInteger" : 4
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "ANCContactDataElements"
},
{
"url" : "name",
"valueString" : "Respiratory exam result"
},
{
"url" : "statement",
"valueString" : "/*\n @dataElement: ANC.B8.DE39 Respiratory exam result\n @activity: ANC.B8 Physical exam\n @description: The woman's respiratory condition based on respiratory exam\n*/\ndefine \"Respiratory exam result\":\n WC.Only(\n [Observation: Cx.\"Respiratory exam result\"] O\n where O.status in { 'final', 'amended', 'corrected' }\n and Coalesce(WC.ModifierExtension(O, 'who-notDone').value, false) is false\n and Last(Split(O.encounter.reference, '/')) = Last(Split(encounter, '/'))\n ).value as FHIR.CodeableConcept"
},
{
"url" : "displaySequence",
"valueInteger" : 5
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "ANCDT04"
},
{
"url" : "name",
"valueString" : "Should Conduct oximetry test"
},
{
"url" : "statement",
"valueString" : "/*\n((((((\"Respiratory exam result\" = \"Dyspnoea\")\n OR (\"Respiratory exam result\" = \"Cough\"))\n OR (\"Respiratory exam result\" = \"Rapid breathing\"))\n OR (\"Respiratory exam result\" = \"Slow breathing\"))\n OR (\"Respiratory exam result\" = \"Wheezing\"))\n OR (\"Respiratory exam result\" = \"Rales\"))\n OR (\"Respiratory exam result\" = \"Other abnormal respiratory exam result (specify)\")\n*/\ndefine \"Should Conduct oximetry test\":\n ContactData.\"Respiratory exam result\" in Cx.\"Respiratory exam result - Dyspnoea Choices\"\n or (ContactData.\"Respiratory exam result\" in Cx.\"Respiratory exam result - Cough Choices\")\n or (ContactData.\"Respiratory exam result\" in Cx.\"Respiratory exam result - Rapid breathing Choices\")\n or (ContactData.\"Respiratory exam result\" in Cx.\"Respiratory exam result - Slow breathing Choices\")\n or (ContactData.\"Respiratory exam result\" in Cx.\"Respiratory exam result - Wheezing Choices\")\n or (ContactData.\"Respiratory exam result\" in Cx.\"Respiratory exam result - Rales Choices\")\n or (ContactData.\"Respiratory exam result\" in Cx.\"Respiratory exam result - Other abnormal result (specify) Choices\")"
},
{
"url" : "displaySequence",
"valueInteger" : 6
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "ANCContactDataElements"
},
{
"url" : "name",
"valueString" : "Fetal heart rate"
},
{
"url" : "statement",
"valueString" : "/*\n @dataElement: ANC.B8.DE107 Fetal heart rate\n @activity: ANC.B8 Physical exam\n @description: The fetal heart rate in beats per minute (bpm)\n*/\ndefine \"Fetal heart rate\":\n WC.Earliest(\n [Observation: Cx.\"Fetal heart rate\"] O\n where O.status in { 'final', 'amended', 'corrected' }\n and Coalesce(WC.ModifierExtension(O, 'who-notDone').value, false) is false\n and Last(Split(O.encounter.reference, '/')) = Last(Split(encounter, '/'))\n ).value as FHIR.Quantity"
},
{
"url" : "displaySequence",
"valueInteger" : 7
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "ANCDT04"
},
{
"url" : "name",
"valueString" : "Should Measure the fetal heart rate again"
},
{
"url" : "statement",
"valueString" : "/*\n100 bpm > Fetal heart rate > 180 bpm\n*/\ndefine \"Should Measure the fetal heart rate again\":\n ContactData.\"Fetal heart rate\" < 100\n or ContactData.\"Fetal heart rate\" > 180"
},
{
"url" : "displaySequence",
"valueInteger" : 8
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "ANCContactDataElements"
},
{
"url" : "name",
"valueString" : "Pulse rate"
},
{
"url" : "statement",
"valueString" : "/*\n @dataElement: ANC.B8.DE36 Pulse rate\n @activity: ANC.B8 Physical exam\n @description: The woman's pulse rate in beats per minute (bpm)\n*/\ndefine \"Pulse rate\":\n WC.Earliest(\n [Observation: Cx.\"Pulse rate\"] O\n where O.status in { 'final', 'amended', 'corrected' }\n and Coalesce(WC.ModifierExtension(O, 'who-notDone').value, false) is false\n and Last(Split(O.encounter.reference, '/')) = Last(Split(encounter, '/'))\n ).value as FHIR.Quantity"
},
{
"url" : "displaySequence",
"valueInteger" : 9
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "ANCDT04"
},
{
"url" : "name",
"valueString" : "Should Check again after 10 minutes rest"
},
{
"url" : "statement",
"valueString" : "/*\n60 > Pulse rate > 100\n*/\ndefine \"Should Check again after 10 minutes rest\":\n ContactData.\"Pulse rate\" < 60\n or ContactData.\"Pulse rate\" > 100"
},
{
"url" : "displaySequence",
"valueInteger" : 10
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToQuantity"
},
{
"url" : "statement",
"valueString" : "define function ToQuantity(quantity FHIR.Quantity):\n case\n when quantity is null then null\n when quantity.value is null then null\n when quantity.comparator is not null then\n Message(null, true, 'FHIRHelpers.ToQuantity.ComparatorQuantityNotSupported', 'Error', 'FHIR Quantity value has a comparator and cannot be converted to a System.Quantity value.')\n when quantity.system is null or quantity.system.value = 'http://unitsofmeasure.org'\n or quantity.system.value = 'http://hl7.org/fhirpath/CodeSystem/calendar-units' then\n System.Quantity { value: quantity.value.value, unit: ToCalendarUnit(Coalesce(quantity.code.value, quantity.unit.value, '1')) }\n else\n Message(null, true, 'FHIRHelpers.ToQuantity.InvalidFHIRQuantity', 'Error', 'Invalid FHIR Quantity code: ' & quantity.unit.value & ' (' & quantity.system.value & '|' & quantity.code.value & ')')\n end"
},
{
"url" : "displaySequence",
"valueInteger" : 11
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToCalendarUnit"
},
{
"url" : "statement",
"valueString" : "define function ToCalendarUnit(unit System.String):\n case unit\n when 'ms' then 'millisecond'\n when 's' then 'second'\n when 'min' then 'minute'\n when 'h' then 'hour'\n when 'd' then 'day'\n when 'wk' then 'week'\n when 'mo' then 'month'\n when 'a' then 'year'\n else unit\n end"
},
{
"url" : "displaySequence",
"valueInteger" : 12
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "WHOCommon"
},
{
"url" : "name",
"valueString" : "Earliest"
},
{
"url" : "statement",
"valueString" : "define function Earliest(observations List<Observation>):\n First(\n observations O\n sort by issued\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 13
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToString"
},
{
"url" : "statement",
"valueString" : "define function ToString(value ObservationStatus): value.value"
},
{
"url" : "displaySequence",
"valueInteger" : 14
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToBoolean"
},
{
"url" : "statement",
"valueString" : "define function ToBoolean(value boolean): value.value"
},
{
"url" : "displaySequence",
"valueInteger" : 15
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "WHOCommon"
},
{
"url" : "name",
"valueString" : "ModifierExtension"
},
{
"url" : "statement",
"valueString" : "/*\n@description: Returns the single WHO core modifier extension (if present) on the given resource with the specified id.\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\nis more than one extension on the given resource with the specified url.\n*/\ndefine function ModifierExtension(domainResource DomainResource, id String):\n singleton from ModifierExtensions(domainResource, id)"
},
{
"url" : "displaySequence",
"valueInteger" : 16
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "WHOCommon"
},
{
"url" : "name",
"valueString" : "ModifierExtensions"
},
{
"url" : "statement",
"valueString" : "/*\n@description: Returns any WHO core modifier extensions defined on the given resource with the specified id.\n@comment: NOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function ModifierExtensions(domainResource DomainResource, id String):\n domainResource.modifierExtension E\n\t where E.url = ('http://fhir.org/guides/who/core/StructureDefinition/' + id)\n\t\treturn E"
},
{
"url" : "displaySequence",
"valueInteger" : 17
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToString"
},
{
"url" : "statement",
"valueString" : "define function ToString(value uri): value.value"
},
{
"url" : "displaySequence",
"valueInteger" : 18
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToString"
},
{
"url" : "statement",
"valueString" : "define function ToString(value string): value.value"
},
{
"url" : "displaySequence",
"valueInteger" : 19
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToConcept"
},
{
"url" : "statement",
"valueString" : "define function ToConcept(concept FHIR.CodeableConcept):\n if concept is null then\n null\n else\n System.Concept {\n codes: concept.coding C return ToCode(C),\n display: concept.text.value\n }"
},
{
"url" : "displaySequence",
"valueInteger" : 20
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToCode"
},
{
"url" : "statement",
"valueString" : "define function ToCode(coding FHIR.Coding):\n if coding is null then\n null\n else\n System.Code {\n code: coding.code.value,\n system: coding.system.value,\n version: coding.version.value,\n display: coding.display.value\n }"
},
{
"url" : "displaySequence",
"valueInteger" : 21
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "WHOCommon"
},
{
"url" : "name",
"valueString" : "Only"
},
{
"url" : "statement",
"valueString" : "define function Only(observations List<Observation>):\n singleton from observations"
},
{
"url" : "displaySequence",
"valueInteger" : 22
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"id" : "effective-data-requirements",
"url" : "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-effectiveDataRequirements",
"valueCanonical" : "#effective-data-requirements"
},
{
"url" : "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-softwaresystem",
"valueReference" : {
"reference" : "Device/cqf-tooling"
}
}
],
"url" : "http://smart.who.int/anc/PlanDefinition/ANCDT04",
"identifier" : [
{
"use" : "official",
"value" : "ANC.DT.04"
}
],
"version" : "0.3.0",
"name" : "ANCDT04",
"title" : "ANC.DT.04 Conducting physical exams",
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/plan-definition-type",
"code" : "eca-rule"
}
]
},
"status" : "active",
"experimental" : false,
"date" : "2025-06-24T13:58:48-06:00",
"publisher" : "World Health Organization (WHO)",
"contact" : [
{
"telecom" : [
{
"system" : "url",
"value" : "https://www.who.int"
}
]
}
],
"description" : "Depending on the results of some physical exams, additional examinations or repeat measurements are required",
"useContext" : [
{
"code" : {
"system" : "http://terminology.hl7.org/CodeSystem/usage-context-type",
"code" : "task",
"display" : "Workflow Task"
},
"valueCodeableConcept" : {
"coding" : [
{
"system" : "http://smart.who.int/anc/CodeSystem/activity-codes",
"code" : "ANC.B8",
"display" : "Conduct physical exam"
}
]
}
}
],
"jurisdiction" : [
{
"coding" : [
{
"system" : "http://unstats.un.org/unsd/methods/m49/m49.htm",
"code" : "001"
}
]
}
],
"library" : [
"http://smart.who.int/anc/Library/ANCDT04"
],
"action" : [
{
"title" : "ANC.DT.04 Conducting physical exams",
"trigger" : [
{
"type" : "named-event",
"name" : "ANC.B8 Conduct physical exam"
}
],
"action" : [
{
"id" : "1",
"title" : "Measure BP again after 10–15 minutes rest",
"description" : "Measure BP again after 10–15 minutes rest",
"textEquivalent" : "Given high values (SBP ≥ 140 or DBP ≥ 90) upon first measure, blood pressure should be measured again",
"documentation" : [
{
"type" : "citation",
"label" : "Managing complications guide (IMPAC) (2017): Section S-51 (5)"
}
],
"condition" : [
{
"kind" : "applicability",
"expression" : {
"description" : "(\"Systolic blood pressure\" ≥ 140 mmHg)\n OR (\"Diastolic blood pressure\" ≥ 90 mmHg)",
"language" : "text/cql-identifier",
"expression" : "Should Measure BP again after 10–15 minutes rest"
}
}
]
},
{
"id" : "2",
"title" : "Measure temperature again",
"description" : "Measure temperature again",
"textEquivalent" : "The health worker should retake the woman's temperature if the first reading is over 38°C",
"documentation" : [
{
"type" : "citation",
"label" : "Managing complications guide (IMPAC) (2017): Section S-113 (5)"
}
],
"condition" : [
{
"kind" : "applicability",
"expression" : {
"description" : "\"Body temperature\" ≥ 38°C",
"language" : "text/cql-identifier",
"expression" : "Should Measure temperature again"
}
}
]
},
{
"id" : "3",
"title" : "Check again after 10 minutes rest",
"description" : "Check again after 10 minutes rest",
"textEquivalent" : "The health worker should retake the woman's pulse rate if the first reading is lower than 60 or higher than 100 beats per minute",
"documentation" : [
{
"type" : "citation",
"label" : "Managing complications guide (IMPAC) (2017): Section S-1 (5)"
}
],
"condition" : [
{
"kind" : "applicability",
"expression" : {
"description" : "60 > Pulse rate > 100",
"language" : "text/cql-identifier",
"expression" : "Should Check again after 10 minutes rest"
}
}
]
},
{
"id" : "4",
"title" : "Conduct oximetry test",
"description" : "Conduct oximetry test",
"textEquivalent" : "If the woman has an abnormal respiratory exam result or respiratory distress, conduct oximetry test",
"documentation" : [
{
"type" : "citation",
"label" : "Managing complications guide (IMPAC) (2017): Section S-149 (5)"
}
],
"condition" : [
{
"kind" : "applicability",
"expression" : {
"description" : "((((((\"Respiratory exam result\" = \"Dyspnoea\")\n OR (\"Respiratory exam result\" = \"Cough\"))\n OR (\"Respiratory exam result\" = \"Rapid breathing\"))\n OR (\"Respiratory exam result\" = \"Slow breathing\"))\n OR (\"Respiratory exam result\" = \"Wheezing\"))\n OR (\"Respiratory exam result\" = \"Rales\"))\n OR (\"Respiratory exam result\" = \"Other abnormal respiratory exam result (specify)\")",
"language" : "text/cql-identifier",
"expression" : "Should Conduct oximetry test"
}
}
]
},
{
"id" : "5",
"title" : "Measure the fetal heart rate again",
"description" : "Measure the fetal heart rate again",
"textEquivalent" : "Fetal heart rate out of normal range (100–180) – please have the woman lay on her left side for 15 minutes and check again",
"documentation" : [
{
"type" : "citation",
"label" : "Managing complications guide (IMPAC) (2017): C-89 (5)"
}
],
"condition" : [
{
"kind" : "applicability",
"expression" : {
"description" : "100 bpm > Fetal heart rate > 180 bpm",
"language" : "text/cql-identifier",
"expression" : "Should Measure the fetal heart rate again"
}
}
]
}
]
}
]
}
XIG built as of ??metadata-date??. Found ??metadata-resources?? resources in ??metadata-packages?? packages.